//(function(){
function getStyle(obj, attr){
    if( window.getComputedStyle ){
    	return getComputedStyle(obj, null)[attr];
    }else{
    	return obj.currentStyle[attr];
    }
}
/*
运动函数 
*/
function startMove(obj, json, fn){
	clearInterval(obj.timer);
	// 定时器
	obj.timer = setInterval(function(){
		// 假设所有的属性都到达了目标值
		var flag = true;
		// 对所有的属性循环处理
		for(var attr in json){
			// 获取 attr 这个属性的目标值
			var target = json[attr];			
			// 被移动的元素当前的属性值
			var v = getStyle(obj, attr);	//500px
			if( attr == "opacity" ){
				v = Math.round(v * 100);				
			}else{
				v = parseInt(v);	//500
			}
			// 速度	-70
			var speed = (target-v)/7;	
			// 取整
			speed = speed>0 ? Math.ceil(speed) : Math.floor(speed);
			//console.log(speed)
			// -70
			// 判断当前元素的属性，是否到达目标值
			if(v == target){	// 500 == 10
				//clearInterval(obj.timer);
			}else{
				flag = false;	// 没有达到目标值
				if( attr == "opacity" ){
					obj.style["opacity"] = (v+speed)/100;
					obj.style.filter="alpha(opacity="+(v+speed)+")";	//滤镜：兼容写法
				}else{
					obj.style[attr] = v+speed+"px";	// 430
				}
			}
			//console.log(attr+" = "+(v+speed));
		}
		// flag 表示所有的属性 是否都到达了目标值
		if( flag == true ){
			clearInterval(obj.timer);	//清除定时器
			if(fn){
				fn();
			}
		}
	}, 30);
	
}
//})();
